偷偷打廣告
台灣首發晶片設計教材要募資啦
趕快點擊去了解 👉 https://wlinny.com
這單元開始我程式碼有點亂
先附上參考解答😝
要完成思考才能看答案喔
n, m = [int(i) for i in input().split()]
a = [[int(j) for j in input().split()] for i in range(n)]
best_i, best_j = 0, 0
curr_max = a[0][0]
for i in range(n):
for j in range(m):
if a[i][j] > curr_max:
curr_max = a[i][j]
best_i, best_j = i, j
print(best_i, best_j)
n = int(input())
a = [['.'] * n for i in range(n)]
for i in range(n):
a[i][i] = '*'
a[n // 2][i] = '*'
a[i][n // 2] = '*'
a[i][n - i - 1] = '*'
for row in a:
print(' '.join(row))
這段程式的目的是根據給定的一個奇數 n
,生成一個大小為 n x n
的二維陣列。該陣列初始時每個元素都是 . 字符,之後在中間行、中間列和兩條對角線上填充 *
字符,這樣形成一個類似雪花的圖案。程式最後會將這個陣列以 n x n
的形式列印出來,且每個字符之間以空格分隔。
n = int(input())
:從使用者輸入讀取一個整數 n
,此 n
必須是一個奇數,代表陣列的維度。a = [['.'] * n for i in range(n)]
:建立一個大小為 n x n
的二維陣列,所有元素初始為 .
。for i in range(n)
:這個迴圈用於遍歷陣列的每一列和每一行,並填充雪花圖案中的 *
符號:
a[i][i] = '*'
:設定主對角線(左上到右下)上的元素為 *。a[n // 2][i] = '*'
:設定中間行的所有元素為 *。a[i][n // 2] = '*'
:設定中間列的所有元素為 *。a[i][n - i - 1] = '*'
:設定次對角線(右上到左下)上的元素為 *。for row in a: print(' '.join(row))
:逐行列印陣列,每行中的字符以空格分隔。n, m = [int(i) for i in input().split()]
a = []
for i in range(n):
a.append([])
for j in range(m):
if (i + j) % 2 == 0:
a[i].append('.')
else:
a[i].append('*')
for row in a:
print(' '.join(row))
這段程式的目的是根據給定的兩個整數 n 和 m,生成一個大小為 n x m 的二維陣列,並以棋盤格的方式填充 . 和 * 字符,左上角的字符是 .。最後程式會將該陣列以 n x m 的形式列印出來,每個字符以空格分隔。
n, m = [int(i) for i in input().split()]
:從使用者輸入讀取兩個整數 n
和 m
,分別代表陣列的行數和列數。a = []
:初始化一個空的列表 a
,用來存儲二維陣列。for i in range(n)
:這個迴圈遍歷每一行,對於每一行執行以下操作:
a.append([])
:為每一行創建一個新的空列表。for j in range(m)
:這個內部迴圈遍歷每一列,並決定當前位置應該填充 .
還是 *
:
if (i + j) % 2 == 0
:如果 i + j
的和是偶數,則在該位置填充 .
。else
:如果 i + j
的和是奇數,則在該位置填充 *
。for row in a: print(' '.join(row))
:逐行列印二維陣列,並使用空格將每行中的字符分隔開。n = int(input())
a = [[abs(i - j) for j in range(n)] for i in range(n)]
for row in a:
print(' '.join([str(i) for i in row]))
這段程式的目的是根據給定的整數 n,生成一個大小為 n x n
的二維陣列。該陣列的規則是:在主對角線上填入 0,在與主對角線相鄰的對角線上填入 1,接下來的對角線依次填入 2、3,以此類推。最後,程式會將該陣列以 n x n
的形式列印出來,每個元素之間以空格分隔。
n = int(input())
:從使用者輸入讀取一個整數 n,表示二維陣列的大小為 n x n。
a = [[abs(i - j) for j in range(n)] for i in range(n)]
:
(i, j)
,其值是 i
和 j
之間的絕對差 abs(i - j)
。這表示位置離主對角線的距離,例如主對角線上 i == j
,所以 abs(i - j) == 0
,而離主對角線越遠,值就越大。for row in a: print(' '.join([str(i) for i in row]))
:這部分遍歷二維陣列的每一行,並將該行的數字元素轉換成字串,然後用空格分隔並列印出來。
今天只來得及寫四題 qq 思考有點久